高级主题
在别名文件中存储常用短语
可以将长或复杂的搜索短语保存在文件中,以避免必须为每个查询重新键入(或复制和粘贴)全文。文件的每一行都有一个快捷键,一个制表符和一个扩展的搜索词。在使用井号(“#”)前缀后,将它们放在括号中,以引用快捷方式。
例如,给定名为“q_aliases”的文件包含:
|
|
在esearch语句中:
|
|
将扩展开为:
|
|
查询生成:
|
|
别名文件也可以在管道或脚本开头的单独指令中读取:
|
|
为了获得最大的灵活性,可以将单独的eproxy命令连接在一起以加载多个快捷方式文件,只要快捷方式字符串都是唯一的。
其他EDirect选项
可以为ESearch和EFilter指定一个-sort参数来指定检索记录时的结果顺序:
|
|
ELink可以使用“-name pubmed_pubmed_citedin”返回引用列表的链接,但仅适用于PubMed Central(PMC)中保留全文的出版物。例如,查询:
|
|
生成十个被引用最多的作者的排名列表:
|
|
类似地,“ -name pubmed_pubmed_refs”再次返回文章的引用列表,对于存放在PMC中的出版物也是如此。
ELink有几种命令模式,可以使用-cmd参数指定这些模式。当不使用默认的“neighbor_history”命令时,elink将返回一个eLinkResult XML对象,每个UID的链接在不同的块中显示。例如:
|
|
将在后续列中显示第一列中的原始PMID和相关文章PMID:
|
|
当elink命令“prlinks”与“ref”模式一起使用时,它可以直接从发布者获取包含或引用全文文章的HTML。 UNIX“xargs”命令为每个标识符分别调用elink:
|
|
elink -batch标志将绕过大型查询的Entrez历史记录机制。
Xtract专题
标准格式的自闭标签:
|
|
或替代形式:
|
|
没有文本内容,因此无法使用-element命令进行选择。如果标记包含属性:
|
|
它可以通过匹配指定的值来选择:
|
|
-pattern,-group,-block和-subset命令提供了一个嵌套的循环组织器层次结构,用于探索XML对象。每个模式可以包含多个组,每个组可以包含多个块,并且每个块可以具有多个子集。
使用不同的参数名称允许循环嵌套的线性表示,并提供足够的灵活性来从Entrez中的XML记录中识别和提取任意数据。
在伪代码中绘制草图可以阐明相对嵌套级别。提取命令:
|
|
可以用伪代码表示为计算机程序:
|
|
额外的参数(-division,-branch,-section和-unit)保留用于提供额外的组织级别,如果将来需要处理复杂的,深度嵌套的XML数据。按排名顺序排列的完整命令是:
|
|
使用-block启动xtract探索,并使用-group和-subset进行扩展,会留下可在任何需要的地方使用的其他级别名称,而无需重新设计整个命令。
查询外部Web服务
EDirect nquire函数可用于从任意URL获取数据。查询是从命令行参数构建的。例如:
|
|
读取URL然后标记/值对以生成电子实用程序查询:
|
|
路径可以分为组件,与斜杠组合,因此:
|
|
转换为:
|
|
标签之间的多个值与逗号组合。从而:
|
|
转化为:
|
|
以连字符(或减号)开头的值可以通过在其前面添加反斜杠来区分标记,因此:
|
|
将被发送为:
|
|
并且将返回“US”作为芝加哥内部的坐标,其具有负(西半球)经度值。
-alias参数可以读取快捷键和URL别名的文件。以下别名始终可用:
|
|
所以命令:
|
|
将运行ESearch查询并返回eSearchResult XML对象。
可以重新格式化具有不一致的换行和缩进的原始XML,以便通过管道传输来更容易地目视检查数据结构和内容:
|
|